config = require("config")
local os_util = {}

-- 重启
function os_util.reboot(type)
    -- 如果是重置，则不需要持久化，不然删除的文件又回来了
    if type ~= 4 then
        config.configTableToStr()
        config.configStrToTable()
        g_config["run_status"] = type
        local ret = writecfg()
        config.configTableToStr()
        if (ret < 0) then
            log.debug("配置数据持久化失败！")
            return -1
        end
    end
    return os.execute("reboot")
end

-- -- 休眠
-- function os_util.sleep(time)
--     return os.execute("sleep " .. time)
-- end

-- 创建文件夹
function os_util.mkdir(path)
    return os.execute("mkdir -p " .. path)
end

-- 创建文件夹
-- 文件全路径
function os_util.touch(file_path)
    return os.execute("touch -p " .. file_path)
end

-- 重置设备
function os_util.reset()
    return os.execute(
        [[
        find /dx_cc101_app/data/ -name "*.log" | xargs rm -f \ 
        find /dx_cc101_app/data/ -name "*.db" | xargs rm -f \ 
        rm -f /vgapp/etc/config.txt \
        rm -f /vgapp/etc/config_bak.txt \
        rm -f /vgapp/etc/passwd_config.txt \
        rm -f /vgapp/etc/passwd_config_bak.txt \
        rm -f /vgapp/etc/rem.txt \
        rm -f /vgapp/etc/rem_bak.txt \
        rm -f /vgapp/etc/hw_config.txt \
        rm -f /vgapp/etc/hw_config_bak.txt 
    ]]
    )
end

-- 毫秒级的延迟，更快地接收mqtt消息
function os_util.sleep(n)
    local socket = require("socket.core")
    socket.select(nil, nil, n)
end

return os_util
